package com.os.sys.mapper;

import com.os.sys.pojo.RoleMenu;
import com.os.sys.pojo.SysMenu;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @Repository需要在Spring中配置扫描地址，然后生成Dao层的Bean才能被注入到Service层中。
 *
 * @Mapper不需要配置扫描地址，通过xml里面的namespace里面的接口地址，生成了Bean后注入到Service层中。
 * @author Administrator
 *
 */
@Repository
//@Mapper
public interface RoleMenuMapper {

	public RoleMenu selectById(int id);

	//public List<RoleMenu> selectByPage(Map<String, Object> param);
	
	public List<RoleMenu> selectByParam(Map<String, Object> paramMap);

    /**
     * 按角色ID及用户ID查询
	 * 注意：如果要传入多个参数时，需要声明为Param后，在mybatis的SQL中才能识别
	 * @param role_id
     * @param menu_id
     * @return
     */
	public RoleMenu selectByRoleIdMenuId(@Param("role_id") int role_id, @Param("menu_id") int menu_id);

	public List<RoleMenu> selectByRoleTypeIdMenuId(@Param("roletype_id") int roletype_id, @Param("menu_id") int menu_id);

	public List<SysMenu> selectSysMenuByRoleIds(List<Integer> roleIdList);
	
	public int insert(RoleMenu roleMenu);
	
	public int update(RoleMenu roleMenu);
	
	public int deleteById(int id);

	public int deleteByRoleId(int role_id);

	public int deleteByParam(Map map);

	//public List<SysUser> serverPage(Map<String,Object> param);
	
	//public int selectCountByParam(Map<String,Object> param);
	
	
	
}
